home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
CRS
/
crs19.d81
/
spectrum.sfx
/
multi hi-res
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1992-09-01
|
4KB
|
152 lines
4 B=0:C=3
5 POKE53280,0:POKE53281,0
10 IF A=0THEN A=1:LOAD"KS/L",8,1
20 BASE=2*4096:POKE53272,PEEK(53272)OR8
30 POKE53265,PEEK(53265)OR32
35 POKE53270,PEEK(53270)OR16
50 FORI=1024TO2023:POKEI,130:NEXT
52 FORI=55296TO56295:POKEI,3:NEXT
55 V=53248
60 FORE=832TO894:READF:POKEE,F:NEXTE
70 POKEV+21,1:POKEV+39,1:POKE2040,13
80 POKEV,24:POKEV+1,50
100 DATA 252,0,0,248,0,0,240,0,0,248,0,0,220,0,0,142,0,0,7,0,0,3,128,0,1,0,0,0,0
105 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
197 C=3
198 EF=1
199 X=25:Y=50
200 GET P$
201 IF P$="Q"THEN C=0
202 IF P$="W"THEN C=1
203 IF P$="E"THEN C=2
204 IF P$="R"THEN C=3
205 IF P$="C" THEN 3000
206 IF P$="S" THEN 4000
207 IF P$="L" THEN 4050
208 IF P$="X" THEN 5000
209 IF P$="[147]" THEN 8000
210 GOSUB 256
212 JV=PEEK(56320)
213 IF JV=111 THEN 1680
214 IF JV=110 THEN 1300
215 IF JV=109 THEN 1350
216 IF JV=107 THEN 1400
217 IF JV=106 THEN 1450
218 IF JV=105 THEN 1500
219 IF JV=103 THEN 1550
220 IF JV=102 THEN 1600
221 IF JV=101 THEN 1650
222 IF JV=127 THEN 200
223 IF JV=126THEN 300
224 IF JV=125THEN 350
226 IF JV=123THEN 400
228 IF JV=122THEN 450
230 IF JV=121THEN 500
232 IF JV=119THEN 550
234 IF JV=118THEN 600
236 IF JV=117THEN 650
254 IF P=7THEN 4050
255 GOTO 200
256 IF P$="0" THEN TX=0
257 IF P$="1" THEN TX=1
258 IF P$="2" THEN TX=2
259 IF P$="3" THEN TX=3
260 IF P$="4" THEN TX=4
261 IF P$="5" THEN TX=5
262 IF P$="6" THEN TX=6
263 IF P$="7" THEN TX=7
264 IF P$="8" THEN TX=8
265 IF P$="9" THEN TX=9
299 RETURN
300 Y=Y-1:GOTO 1800
350 Y=Y+1:GOTO 1800
400 X=X-2:GOTO1800
450 X=X-2:Y=Y-1:GOTO1800
500 X=X-2:Y=Y+1:GOTO1800
550 X=X+2:GOTO1800
600 X=X+2:Y=Y-1:GOTO1800
650 X=X+2:Y=Y+1:GOTO1800
1300 Y=Y-1:GOTO1700
1350 Y=Y+1:GOTO1700
1400 X=X-2:GOTO1700
1450 X=X-2:Y=Y-1:GOTO1700
1500 X=X-2:Y=Y+1:GOTO1700
1550 X=X+2:GOTO1700
1600 X=X+2:Y=Y-1:GOTO1700
1650 X=X+2:Y=Y+1:GOTO1700
1680 X=X+0:Y=Y+0:GOTO 1700
1700 AX=X-25:AY=Y-50:BX=AX+1
1701 FOR DE=0TO TXSTEP2:FORDF=0TOTX
1702 IF C=0 THEN 1720
1704 IF C=1 THEN 1740
1705 IF C=2 THEN 1760
1706 IF C=3 THEN 1780
1720 RO=INT(AY/8):CH=INT(AX/8):LI=AYAND7:BI=7-(AXAND7):BY=BA+RO*320+CH*8+LI
1725 POKE BY,PEEK(BY)AND(255-2^BI)
1730 RO=INT(AY/8):CH=INT(BX/8):LI=AYAND7:BI=7-(BXAND7):BY=BA+RO*320+CH*8+LI
1735 POKE BY,PEEK(BY)AND(255-2^BI):GOTO 1799
1740 RO=INT(AY/8):CH=INT(AX/8):LI=AYAND7:BI=7-(AXAND7):BY=BA+RO*320+CH*8+LI
1745 POKE BY,PEEK(BY)OR(2^BI)
1750 RO=INT(AY/8):CH=INT(BX/8):LI=AYAND7:BI=7-(BXAND7):BY=BA+RO*320+CH*8+LI
1755 POKE BY,PEEK(BY)AND(255-2^BI):GOTO 1799
1760 RO=INT(AY/8):CH=INT(AX/8):LI=AYAND7:BI=7-(AXAND7):BY=BA+RO*320+CH*8+LI
1765 POKE BY,PEEK(BY)AND(255-2^BI)
1770 RO=INT(AY/8):CH=INT(BX/8):LI=AYAND7:BI=7-(BXAND7):BY=BA+RO*320+CH*8+LI
1775 POKE BY,PEEK(BY)OR(2^BI):GOTO 1799
1780 RO=INT(AY/8):CH=INT(AX/8):LI=AYAND7:BI=7-(AXAND7):BY=BA+RO*320+CH*8+LI
1785 POKE BY,PEEK(BY)OR(2^BI)
1790 RO=INT(AY/8):CH=INT(BX/8):LI=AYAND7:BI=7-(BXAND7):BY=BA+RO*320+CH*8+LI
1795 POKE BY,PEEK(BY)OR2^BI:GOTO 1799
1799 AY=AY+1:NEXT:AY=Y-50:AX=AX+2:BX=BX+2:NEXT
1800 IF Y<50 THEN Y=50
1802 IF Y>250 THEN Y=250
1804 POKE V+1,Y
1806 IF X>345 THEN X=345
1808 IF X<25 THEN X=25
1810 IF X>255 THEN 1820
1812 POKEV+16,0:POKEV,X
1814 GOTO 200
1820 POKEV+16,1:W=X-255:POKEV,W:GOTO 200
3000 IFC=0 THEN 3100
3001 IFC=1 THEN 3200
3002 IFC=2 THEN 3300
3003 IFC=3 THEN 3400
3100 PI=PEEK(53281):PI=PI+1:IFPI=16THEN PI=0
3104 POKE53281,PI:GOTO200
3200 PI=PEEK(1065)
3201 IF NOT (PI-128)<0 THEN PR=PI-128
3202 IF NOT (PR-64)<0 THEN PR=PR-64
3203 IF NOT (PR-32)<0 THEN PR=PR-32
3204 IF NOT (PR-16)<0 THEN PR=PR-16
3205 PI=PI-PR:PR=PR+1:IFPR=16THEN PR=0
3206 PI=PI+PR
3207 FORNX=1065TO1864STEP40:FORNY=0TO11:POKENX+NY,PI:NEXT:NEXT:GOTO 200
3300 PI=PEEK(1065)
3301 IF NOT (PI-128)<0 THEN PR=PI-128
3302 IF NOT (PR-64)<0 THEN PR=PR-64
3303 IF NOT (PR-32)<0 THEN PR=PR-32
3304 IF NOT (PR-16)<0 THEN PR=PR-16
3305 PI=PI-PR
3306 PI=PI+16:IF PI=256 THEN PI=0
3307 PI=PI+PR
3308 FORNX=1065TO1864STEP40:FORNY=0TO11:POKENX+NY,PI:NEXT:NEXT:GOTO 200
3400 PI=PEEK(55337):PI=PI+1:IFPI=16 THEN PI=0
3404 POKE55337,PI:GOTO200
4000 POKE53265,PEEK(53265)AND223:POKE53270,PEEK(53270)AND239
4002 POKE53272,21:POKE53265,155
4004 PRINT"[147]":SYS49155:PRINT"[147]"
4006 RUN
4050 POKE53265,PEEK(53265)AND223:POKE53270,PEEK(53270)AND239
4052 POKE53272,21:POKE53265,155
4054 PRINT"[147]":SYS49152:PRINT"[147]"
4056 RUN
5000 POKE53265,PEEK(53265)AND223:POKE53270,PEEK(53270)AND239
5001 POKE53272,21:POKE53265,155
5002 GOSUB 5010:POKE198,4
5003 PRINT"[147]LOAD"CHR$(34)"SPECTRUM V1.0";
5004 PRINTCHR$(34)",8";
5005 POKE631,13:POKE632,82:POKE633,117:POKE634,13
5006 END
5010 FORTG=832TO894:POKETG,0:NEXT:RETURN
8000 FORI=BASETOBASE+7999:POKEI,0:NEXT:GOTO200